<?php
/** 
 * 
 *
 * @package api
 * @subpackage plugins
 * @author $Author$
 * @version $Id: Hooks.php 14 2006-11-28 22:05:19Z rdff3 $
 */

/**
 * Maker interface for classes that support hooks for plugins.
 *
 * Classes implementing this interface should provide a set of hooks with descriptions in their documentation that describe each hook
 * and its implementation.
 *
 * There are two types of hooks supported by the PHP Plugin Architecture.
 * 
 * Action Hooks - Action hooks are called in parallel with the origional data the program supplies. These hooks do not change 
 * program data, but extend functionailty. Calling an action hook should be done in the following manner.  
 *
 * <pre>
 *	PluginManager::do_action( "hook_name", $param1, $param2, ... );
 * </pre>
 *
 * Filter Hooks - Filter hooks are executed sequentially with each filter passing it's data to the next.  Depending on how this 
 * hook is wired, it could change program data, or simply change the way the data is displayed.
 * <pre>
 *	$program_value = PluginManager::apply_filters( "hook_name", $param1, $param2, ... );
 * </pre>
 *
 * This interface is part of the PHP Plugin Architecture
 *
 * @package api
 * @subpackage plugins
 * @author $Author$
 * @version $Id: Hooks.php 14 2006-11-28 22:05:19Z rdff3 $
 */
interface Hooks { }

?>